home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / graphic / pbmpl91d.zip / PBMPLUS / README < prev    next >
Text File  |  1993-01-08  |  16KB  |  409 lines

  1.  
  2. This is the README file for DJ's GCC port to DOS ("djgpp")
  3.  
  4. Contents:
  5.     * Overview
  6.     * What's available
  7.     * How to install
  8.     * Deviations and Caveats
  9.     * Copyright information
  10.  
  11. Disclaimer: This software is distributed WITHOUT ANY WARRANTY; without
  12. even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  13. PURPOSE.
  14.  
  15. DJ Delorie
  16. USmail: 24 Kirsten Ave, Rochester, NH 03867-2954, USA
  17. email:  dj@ctron.com
  18.  
  19. mailing list: djgpp@sun.soe.clarkson.edu (listserv@sun.soe.clarkson.edu)
  20.  
  21.  
  22.  
  23.  
  24. Overview:
  25.  
  26. This package contains a 32-bit 80386 DOS extender with symbolic
  27. debugger, a C/C++ compiler with utilities, development libraries, and
  28. source code.  It generates full 32-bit programs and supports full
  29. virtual memory with paging to disk. 
  30.  
  31. Requirements:
  32.  
  33. A 80386-based IBM compatible PC or PS/2, approximately 4-5Mb of hard
  34. drive space, and 512K RAM.  Available extended (or expanded under VCPI)
  35. memory is strongly recommended.
  36.  
  37. Supported Wares:
  38.  
  39. * Up to 128M of extended memory (expanded under VCPI)
  40. * Up to 128M of disk space used for swapping
  41. * SuperVGA 256-color mode up to 1024x768
  42. * 80387
  43. * XMS & VDISK memory allocation strategies
  44. * VCPI programs, such as QEMM, DESQview, and 386MAX
  45.  
  46. Unsupported:
  47.  
  48. * DPMI
  49. * Microsoft Windows
  50. * Multiprocessing (fork())
  51.  
  52.  
  53.  
  54.  
  55. File location:
  56.  
  57.     host:      barnacle.erc.clarkson.edu
  58.     login:     ftp
  59.     password:  send your e-mail address
  60.     directory: ~ftp/pub/msdos/djgpp
  61.  
  62. Many thanks to the sysops at Clarkson for providing a home to djgpp!
  63.  
  64. As a convenience to non-FTP users, djgpp is also stored on Clarkson's
  65. archive server.  To access the archive server, do this:
  66.  
  67.    % mail archive-server@barnacle.erc.clarkson.edu
  68.    Subject: <none>
  69.    help
  70.    index msdos/djgpp
  71.    ^D
  72.  
  73. NOTE: In accordance with FSF CopyLeft, you are not allowed to upload
  74. this program to a distribution site unless that site also makes the FSF
  75. sources for these programs available.  Please read the file COPYING for
  76. more details.  FSF sources are available on prep.ai.mit.edu, and on
  77. barnacle.erc.clarkson.edu
  78.  
  79. NOTE: If your application links in object modules that were written
  80. by FSF, your application counts as a "derived work" and must obey
  81. the provisions of the FSF Copyrights.  See the file COPYING for
  82. details.  Specifically, the C++ classes in libc.a and obstacks are
  83. FSF works that are covered by the GNU GPL.  The mere act of compiling
  84. does not affect the copyright status of your program.
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94. INSTALLING:
  95.  
  96. To install, you must do the following:
  97.  
  98. * Create a "temp" directory, like c:\tmp.
  99.  
  100. * Create a directory to install in, like c:\djgpp.
  101.  
  102. * Un-zip the appropriate zipfiles in the install directory.
  103.     C:\DJGPP> pkunzip -d -o djdev109.zip
  104.     C:\DJGPP> pkunzip -d -o djgas138.zip
  105.     C:\DJGPP> pkunzip -d -o djgcc222.zip
  106.  
  107. * Add the following lines to C:\CONFIG.SYS file (or edit existing
  108.   files= and shell= lines as appropriate).  The files= line prevents "too many
  109.   open files" errors when compiling, and the shell= line prevents "Out of
  110.   environment space" errors when setting lots of environment variables.
  111.  
  112.     files=15
  113.     shell=c:\command.com c:\ /e:600 /p
  114.  
  115. The values 15 and 600 are close to minimal.  You may want to increase them
  116. to provide a little more margin.
  117.  
  118.  
  119. * Add the following lines to C:\AUTOEXEC.BAT:
  120.     set COMPILER_PATH=c:/djgpp/bin
  121.     set C_INCLUDE_PATH=c:/djgpp/include
  122.     set CPLUS_INCLUDE_PATH=c:/djgpp/cplusinc;c:/djgpp/include
  123.           ^^^ only needed if you are compiling c++ programs
  124.     set OBJC_INCLUDE_PATH=c:/djgpp/include
  125.           ^^^ only needed if you are compiling objective-C programs
  126.     set OBJCPLUS_INCLUDE_PATH=c:/djgpp/include
  127.           ^^^ only needed if you are compiling objective-C++ programs
  128.     set LIBRARY_PATH=c:/djgpp/lib
  129.     set TMPDIR=c:/tmp
  130.              ^^^ this is where gcc's temp files go
  131.     set GO32TMP=c:/tmp
  132.                 ^^^ this is where your paging file goes - if not set, the
  133.                     variables TMP and TEMP are checked in that order
  134.     set GO32=ansi driver c:/djgpp/drivers/SOMETHING.grd gw 1024 gh 768
  135.                          ^^^ whatever driver works with your VGA (optional)
  136.     set BISON_SIMPLE=c:/djgpp/lib/bison.simple
  137.           ^^^ only needed if you use bison
  138.     set BISON_HAIRY=c:/djgpp/lib/bison.hairy
  139.           ^^^ only needed if you use bison
  140.     set FLEX_SKELETON=c:/djgpp/lib/flex.skeleton
  141.           ^^^ only needed if you use flex
  142.  
  143.   Remember that unless you manually type these at the command line,
  144.   they won't take effect until you reboot.  Don't include the "ansi"
  145.   keyword in the "go32" variable if you don't have an ANSI.SYS driver
  146.   or equivalent.
  147.  
  148. * Add your binaries directory to your PATH in C:\AUTOEXEC.BAT
  149.     SET PATH= . . . ;C:\DJGPP\BIN
  150.  
  151. That's it! djgpp is now installed on your system.
  152.  
  153.  
  154.  
  155.  
  156.  
  157. The GO32 environment variable:
  158.  
  159.  
  160. This variable controls the options available in go32 or debug32.  The
  161. syntax of this variable is:
  162.  
  163.   SET GO32=[parm [value]] [parm [value]] . . .
  164.  
  165. Parameters:
  166.  
  167.   ansi           Use ANSI commands to control the color in debug32
  168.   mono           Use the Monochrome monitor for debugging - useful when
  169.                    debugging graphics applications
  170.   1rm            Redirect stdout (file #1) to the monochrome monitor
  171.   2rm            Redirect stderr (file #2) to the monochrome monitor
  172.   1r2            Redirect stdout (file #1) to stderr (file #2)
  173.   2r1            Redirect stderr (file #2) to stdout (file #1)
  174.  
  175.   glob           enable globbing (default)
  176.   noglob         disable globbing
  177.  
  178.   emu [path]     Use the specified file as the 80387 emulator
  179.  
  180.   driver [path]  Use the specified file as the graphics driver
  181.   gw [width]     Default graphics width
  182.   gh [height]    Default graphics height
  183.   tw [width]     Default text width
  184.   th [height]    Default text height
  185.   nc [colors]    Number of colors (for new-style drivers only - see cbgrx*.zip)
  186.  
  187.  
  188. These parameters may occur in any order.
  189.  
  190. Note that "1rm" and "2rm" are done before "1r2" and "2r1", so "1rm 2r1" sends
  191. stdout to the mono monitor and stderr to any redirection used.
  192.  
  193. Examples:
  194.  
  195.   C:\> set GO32=mono driver c:\djgpp\drivers\tseng4k.grd gw 1024 gh 768 tw 132 th 43 nc 256
  196.   C:\> set GO32=ansi
  197.   C:\> set GO32=driver c:\djgpp\drivers\tseng4k.grd ansi
  198.   C:\> set GO32=mono 1rm 2rm
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207.  
  208.  
  209. Deviations and Caveats:
  210.  
  211. GCC/G++ deviates from the U**x version in a number of ways, mostly to
  212. accomodate deficiencies in the MS-DOS environment, and my own laziness.
  213.  
  214. * An 80387 is required to do floating point.  An emulator is provided.
  215.   cc1 and cc1plus shouldn't use the 387 unless compiling floating point
  216.   code.  The environment variable "387" can override the auto-detection
  217.   routine:
  218.     SET 387=YES   to force 387 handlers to be enabled
  219.     SET 387=NO    to force 387 accesses to fault
  220.     SET 387=QUERY to get a message showing the results of the auto-detection
  221.   If no 80387 is present and the program attempts to use it, a message
  222.   indicating where the instruction is will be displayed.  To use the
  223.   387 emulator, add "emu c:\djgpp\emu387\emu387" to the GO32 environment
  224.   variable.  Specifying use of the emulator overrides the "387"
  225.   environment variable and autodetection code.
  226.  
  227. * The VDISK method of allocating extended memory is supported.  The
  228.   INT 15h method is also.  When the extender runs out of conventional and
  229.   extended memory, it uses a paging file named $(GO32TMP)/pgXXXXXX.386, where
  230.   XXXX is an unspecified hex value.  This file is normally removed on exit.
  231.  
  232. * Up to 128 MB of physical memory and 128 MB of disk swap space are allowed.
  233.   A 512K machine is sufficient, but very slow due to paging.
  234.  
  235. * The utilies support the MS-DOS standard response file method for giving
  236.   more than 128 bytes of command line.  Example: "gcc -o foo @foo.lnk" where
  237.   foo.lnk contains a list of .o files.  Wildcard expansion (globbing) is
  238.   performed on the parameters, unless they are surrounded by single quotes.
  239.   Double quotes can be used to prevent spaces from separating